/** 公共管理模块_公共管理**/
// 引入工具类
import axios from './config';

// 使用
const URL = 'api-param'; // 公共前缀地址
export const publicManage_pub = {
  // ************************************************币种管理************************************************************
  currencyManageQuery(data,loading=true) {// 币种管理分页查询
    return axios.post(URL + '/param/dimCurrency/query', data,loading)
  },
  currencyManagecheckCurrencyCodeUnique(data) {// 币种编号是否唯一
    return axios.post(URL + '/param/dimCurrency/checkCurrencyCodeUnique', data,false)
  },
  currencyManageSave(data) {// 币种管理保存
    return axios.post(URL + '/param/dimCurrency/save', data)
  },
  currencyManageRemove(data) {// 币种删除
    return axios.post(URL + '/param/dimCurrency/remove', data)
  },
  currencyManageUpdateStatus(data) {// 币种启用停用
    return axios.post(URL + '/param/dimCurrency/updateStatus', data)
  },
  //    ************************************************************   口径管理**************************************************************
  // --------------------------------------------------口径成员-------------------------------------------------------------
  caliberMemberQuery(data) {// 口径成员查询
    return axios.post(URL + '/param/caliber/project/query', data)
  },
  // 校验编号
  caliberMemberCheckDefCode(data) {// 口径成员新增校验编号
    return axios.post(URL + '/param/caliber/project/checkDefCode', data,false)
  },
  caliberMemberDefCheckDefCode(data) { // 校验calibercode编号
    return axios.post(URL + '/param/caliber/def/checkDefCode', data,false)
  },

  caliberMemberSave(data) {// 口径成员保存
    return axios.post(URL + '/param/caliber/project/save', data)
  },
  caliberMemberDel(data) {// 口径成员删除
    return axios.post(URL + '/param/caliber/project/remove', data)
  },
  caliberDefQuery(data) {// 口径定义查询
    return axios.post(URL + '/param/caliber/def/query', data)
  },
  caliberMemberDefSave(data) {// 口径定义保存
    return axios.post(URL + '/param/caliber/def/save', data)
  },
  caliberMemberDefDelete(data) {// 口径定义删除
    return axios.post(URL + '/param/caliber/def/remove', data)
  },
  caliberMemberRuleQueryList(data) {// 查询规则列表
    return axios.post(URL + '/param/caliber/rule/queryList', data)
  },
  caliberMemberQueryDimDictType(data) {// 查询维度type  （内置维度+自定义维度）
    return axios.post(URL + '/param/caliber/ruleTerm/queryDimDictType', data)
  },
  caliberMemberQueryDictType(data) {// 查询CaliberRuleTerm，双击左侧维度列表
    return axios.post(URL + '/param/caliber/ruleTerm/queryDictType', data)
  },
  caliberMemberRuleTermQueryList(data) {// 编辑回显rule项 
    return axios.post(URL + '/param/caliber/ruleTerm/queryList', data)
  },
  caliberMemberRuleDelete(data) {// 删除rule 
    return axios.post(URL + '/param/caliber/rule/remove', data)
  },
  caliberMemberFindDimTree(data) {// 获取层级方案下拉
    return axios.post(URL + '/param/dimTreetype/fingDimTree', data)
  },
  caliberMemberDimTreenodeTree(data) {// 获取层级方案对应树
    return axios.post(URL + '/param/dimTreenode/dimTreenodeTree', data,false)
  },
  caliberMemberDimeRuleTermSave(data) {// 口径规则项保存
    return axios.post(URL + '/param/caliber/ruleTerm/save', data)
  },
  // --------------------------------------------------口径层级-------------------------------------------------------------
  caliberHierarchyQuery(data) { // 口径层级查询
    return axios.post(URL + '/param/caliber/treeType/query', data)
  },
  caliberHierarchyFindCaliberProjectList(data) { // 查询口径方案列表下拉
    return axios.post(URL + '/param/caliber/project/findCaliberProjectList', data)
  },
  caliberHierarchySave(data) { // 口径层级保存
    return axios.post(URL + '/param/caliber/treeType/save', data)
  },
  caliberHierarchyDel(data) { // 口径层级删除
    return axios.post(URL + '/param/caliber/treeType/remove', data)
  },
  caliberHierarchySetDefault(data) { // 口径层级设置默认
    return axios.post(URL + '/param/caliber/treeType/setDefault', data)
  },
  caliberHierarchyCaliberTreeNodeTree(data) { // 口径层级查询节点树
    return axios.post(URL + '/param/caliber/treeNode/caliberTreeNodeTree', data)
  },
  caliberHierarchyQueryGridForTree(data) { // 口径层级配置查询列表
    return axios.post(URL + '/param/caliber/def/queryGridForTree', data)
  },
  caliberHierarchyCheckCaliberTreeNodeLevel(data) { // 校验节点是否口径集
    return axios.post(URL + '/param/caliber/treeNode/checkCaliberTreeNodeLevel', data,false)
  },

  caliberHierarchyCheckDefCodesu(data) { // 校验编号及方案编号
    return axios.post(URL + '/param/caliber/def/checkDefCodesu', data,false)
  },
  caliberHierarchyAddBroNodeParent(data) { // 添加口径集 保存节点
    return axios.post(URL + '/param/caliber/treeNode/addBroNodeParent', data)
  },
  caliberHierarchyAddNode(data) { // 添加树的子叶节点，左侧选择口径，右侧选择一个树节点
    return axios.post(URL + '/param/caliber/treeNode/addNode', data)
  },
  caliberHierarchyTreeNodeRemoveNode(data) { // 删除口径树节点
    return axios.post(URL + '/param/caliber/treeNode/removeNode', data)
  },
  //    ************************************************************   维度管理**************************************************************
  // --------------------------------------------------维度成员-------------------------------------------------------------
  //维度成员查询
  dimensionQuery(data) {
    return axios.post(URL + '/param/dimDicttype/query', data)
  },
  //维度成员校验编码是否重复
  dimensionCheckDictCode(data) {
    return axios.post(URL + '/param/dimDicttype/checkDicttypeCode', data,false)
  },
  //维度成员校验名称是否重复
  dimensionCheckDictName(data) {
    return axios.post(URL + '/param/dimDicttype/checkDicttypeName', data,false)
  },
  //维度成员保存
  dimensionSave(data) {
    return axios.post(URL + '/param/dimDicttype/save', data)
  },
  //维度成员删除
  dimensionDelete(data) {
    return axios.post(URL + '/param/dimDicttype/remove', data)
  },
  // 配置成员-查询维度成员表 
  dimensionMemberQuery(data) {
    return axios.post(URL + '/param/dimDictitem/query', data)
  },
  // 配置成员-维度成员表新增dictitemcode校验 
  dimensionCheckDictitemCode(data) {
    return axios.post(URL + '/param/dimDictitem/checkDictitemCode', data,false)
  },
  // 配置成员-维度成员表dictitemname校验 
  dimensionCheckDictitemName(data) {
    return axios.post(URL + '/param/dimDictitem/checkDictitemName', data,false)
  },
  // 配置成员-维度成员表保存 
  dimensionMemberSave(data) {
    return axios.post(URL + '/param/dimDictitem/save', data)
  },
  // 配置成员-删除维度成员
  removeDimensionMember(data) {
    return axios.post(URL + '/param/dimDictitem/remove', data)
  },
  // --------------------------------------------------维度层级-------------------------------------------------------------

  // 维度类型列表下拉选项查询
  dimDicttypeListQuery(data) {
    return axios.post(URL + '/param/dimDicttype/findDimDicttypeList', data)
  },
  // 维度层级查询
  dimensionIndexQuery(data) {
    return axios.post(URL + '/param/dimTreetype/query', data)
  },
  // 维度层级校验编号是否重复
  dimensionIndexCheckTreetypeCode(data) {
    return axios.post(URL + '/param/dimTreetype/checkTreetypeCode', data,false)
  },
  // 维度层级校验名称是否重复
  dimensionIndexCheckTreetypeName(data) {
    return axios.post(URL + '/param/dimTreetype/checkTreetypeName', data,false)
  },
  // 维度层级保存
  dimensionIndexSave(data) {
    return axios.post(URL + '/param/dimTreetype/save', data)
  },
  // 维度层级删除
  dimensionIndexDelete(data) {
    return axios.post(URL + '/param/dimTreetype/remove', data)
  },
  // 维度层级设为默认
  dimensionIndexSetDefault(data) {
    return axios.post(URL + '/param/dimTreetype/setDefault', data)
  },
  // 查询右侧树节点
  dimensionIndexGetTree(data) {
    return axios.post(URL + '/param/dimTreenode/dimTreenodeTree', data,false)
  },
  // 维度层级配置弹窗左表查询
  dimensionIndexQueryGridForTree(data) {
    return axios.post(URL + '/param/dimDictitem/queryGridForTree', data)
  },
  // 维度层级配置添加子节点
  dimensionIndexAddChildNode(data) {
    return axios.post(URL + '/param/dimTreenode/addChildNode', data)
  },
  // 维度层级配置删除子节点
  dimensionIndexRemoveNode(data) {
    return axios.post(URL + '/param/dimTreenode/removeNode', data)
  },
  // 查询树
  dimTreenodeQueryTreeNodeTree(data){
        return axios.post(URL + '/param/dimTreenode/queryTreeNodeTree', data,false)
  },

  //   ************************************************************   曲线管理**************************************************************
  // -------------------------------------------------------曲线结构定义---------------------------------
  // 查询
  termStructDefQuery(data) {
    return axios.post(URL + '/param/termStructDef/query', data)
  },
  // 保存
  termStructDefSave(data) {
    return axios.post(URL + '/param/termStructDef/save', data)
  },
  // 删除
  termStructDefRemove(data) {
    return axios.post(URL + '/param/termStructDef/remove', data)
  },
  // id校验
  termStructDefCheckExists(data) {
    return axios.post(URL + '/param/termStructDef/checkExists', data,false)
  },
  // 根据期限结构分页查询期限结构值
  termStructcmTermDefQuery(data) {
    return axios.post(URL + '/param/cmTermDef/query', data)
  },
  // 校验期限结构值是否已存在
  termStructcmTermCheckExists(data) {
    return axios.post(URL + '/param/cmTermDef/checkExists', data,false)
  },
  // 期限结构值保存
  termStructcmTermDefSave(data) {
    return axios.post(URL + '/param/cmTermDef/save', data)
  },
  // 期限结构值删除
  termStructcmTermDefDel(data) {
    return axios.post(URL + '/param/cmTermDef/remove', data)
  },
  // 校验是否被引用
  termStructcmTermDefReferenceCheck(data) {
    return axios.post(URL + '/param/referenceCheck/referenceCheck', data,false)
  },
  // -------------------------------------------------------基础曲线定义---------------------------------
  // 分页查询
  baseCurveDefQuery(data) {
    return axios.post(URL + '/param/curveDef/query', data)
  },
  // 保存
  baseCurveDefSave(data) {
    return axios.post(URL + '/param/curveDef/save', data)
  },
  // 查询所有期限结构
  baseCurveDefFindTermStruct(data) {
    return axios.post(URL + '/param/curveDef/findTermStruct', data)
  },
  // 根据curveCode校验是否存在
  baseCurveDefCheckExists(data) {
    return axios.post(URL + '/param/curveDef/checkExists', data,false)
  },
  // 查询可以用币种   queryAvailable
  currencyManageQueryAvailable(data) {// 币种管理分页查询
    return axios.post(URL + '/param/dimCurrency/queryAvailable', data)
  },
  // 删除
  baseCurveDefDelete(data) {
    return axios.post(URL + '/param/curveDef/remove', data)
  },

  // -------------------------------------------------------曲线维护---------------------------------

  // 查询曲线列表
  curveDataGetCurveList(data) {
    return axios.post(URL + '/param/curveData/getCurveList', data)
  },
  // 期限结构编号查询期限结构
  curveDataQueryStructList(data) {
    return axios.post(URL + '/param/curveData/queryStructList', data)
  },
  // 曲线维护分页查询
  curveDataQuery(data) {
    return axios.post(URL + '/param/curveData/query', data)
  },
  // 检查日期是否重复 保持曲线编码和日期 唯一
  curveDataCheckData(data) {
    return axios.post(URL + '/param/curveData/checkData', data,false)
  },
  //  曲线维护保存
  curveDataSave(data) {
    return axios.post(URL + '/param/curveData/save', data)
  },
  // 曲线维护删除
  curveDataDelete(data) {
    return axios.post(URL + '/param/curveData/remove', data)
  },
  // 确认、取消确认
  curveDataChangeCurveStatus(data) {
    return axios.post(URL + '/param/curveData/changeCurveStatus', data)
  },
  
  // 债权曲线即期计算
  curveDataSpotCalculation(data) {
    return axios.post(URL + '/param/curveData/spotCalculation', data)
  },
    // 校验是否存在未确认的曲线
  checkAllAffirm(data) {
      return axios.post(URL + '/param/curveData/checkAllAffirm', data)
    },
  //查询曲线名称和编码
    findCurveDefMap(data) {
          return axios.post(URL + '/param/curveDef/findCurveDefMap', data)
    },
     //查询所有曲线所需字段
     queryAllTermValues(data) {
         return axios.post(URL + '/param/curveData/queryAllTermValues', data)
    },
      //查询所有曲线数据
      findAll(data) {
          return axios.post(URL + '/param/curveData/findAll', data)
    },
       //将所有的未确认的曲线置为确认状态
       affirmFlagAllToAffirm(data) {
           return axios.post(URL + '/param/curveData/affirmFlagAllToAffirm', data)
       }
}

